/*
 *  Copyright 2019-2023 oyun
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */
package com.oyun.modules.medicine.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.oyun.base.BaseEntity;
import lombok.Data;
import cn.hutool.core.bean.BeanUtil;
import io.swagger.annotations.ApiModelProperty;
import cn.hutool.core.bean.copier.CopyOptions;

import java.sql.Timestamp;
import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

/**
 * @author 呼和
 * @description /
 * @date 2024-07-02
 **/
@Data
@TableName("hospitalized_case")
public class HospitalizedCase extends BaseEntity implements Serializable {

    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(value = "id")
    private Long id;

    private Long hpId;
    @ApiModelProperty(value = "科室")
    private Long administrativeId;
    @TableField(exist = false)
    @ApiModelProperty(value = "科室名称")
    private String administrativeName;

    @ApiModelProperty(value = "患者名称")
    private String mnName;

    @ApiModelProperty(value = "mnNameCode")
    private String mnNameCode;

    @ApiModelProperty(value = "zhName")
    private String zhName;

    @ApiModelProperty(value = "蒙语主诉")
    private String mnChief;

    @ApiModelProperty(value = "mnChiefCode")
    private String mnChiefCode;

    @ApiModelProperty(value = "zhChief")
    private String zhChief;

    @ApiModelProperty(value = "蒙语现病史")
    private String mnPresentIllness;

    @ApiModelProperty(value = "zhPresentIllness")
    private String zhPresentIllness;

    @ApiModelProperty(value = "mnPresentIllnessCode")
    private String mnPresentIllnessCode;

    @ApiModelProperty(value = "蒙语脉诊")
    private String mnPulseTaking;

    @ApiModelProperty(value = "zhPulseTaking")
    private String zhPulseTaking;

    @ApiModelProperty(value = "mnPulseTakingCode")
    private String mnPulseTakingCode;

    @ApiModelProperty(value = "舌诊")
    private String mnTongue;

    @ApiModelProperty(value = "mnTongueCode")
    private String mnTongueCode;

    @ApiModelProperty(value = "zhTongue")
    private String zhTongue;

    @ApiModelProperty(value = "尿诊")
    private String mnUroscopy;

    @ApiModelProperty(value = "mnUroscopyCode")
    private String mnUroscopyCode;

    @ApiModelProperty(value = "zhUroscopy")
    private String zhUroscopy;

    @ApiModelProperty(value = "辩证")
    private String mnDialectic;

    @ApiModelProperty(value = "zhDialectic")
    private String zhDialectic;

    @ApiModelProperty(value = "mnDialecticCode")
    private String mnDialecticCode;

    @ApiModelProperty(value = "辅助检查")
    private String mnInspection;

    @ApiModelProperty(value = "mnInspectionCode")
    private String mnInspectionCode;

    @ApiModelProperty(value = "zhInspection")
    private String zhInspection;

    @ApiModelProperty(value = "蒙语蒙医诊断")
    private String mnDiagnosis;

    @ApiModelProperty(value = "mnDiagnosisCode")
    private String mnDiagnosisCode;

    @ApiModelProperty(value = "zhDiagnosis")
    private String zhDiagnosis;

    @ApiModelProperty(value = "蒙语西医诊断")
    private String mnWtDiagnosis;

    @ApiModelProperty(value = "mnWtDiagnosisCode")
    private String mnWtDiagnosisCode;

    @ApiModelProperty(value = "zhWtDiagnosis")
    private String zhWtDiagnosis;

    @ApiModelProperty(value = "蒙语治疗原则")
    private String mnTptPrinciple;

    @ApiModelProperty(value = "mnTptPrincipleCode")
    private String mnTptPrincipleCode;

    @ApiModelProperty(value = "zhTptPrinciple")
    private String zhTptPrinciple;

    @ApiModelProperty(value = "蒙语药物疗法")
    private String mnYwTherapy;

    @ApiModelProperty(value = "mnYwTherapyCode")
    private String mnYwTherapyCode;

    @ApiModelProperty(value = "zhYwTherapy")
    private String zhYwTherapy;

    @ApiModelProperty(value = "蒙语饮食疗法")
    private String mnYsTherapy;

    @ApiModelProperty(value = "mnYsTherapyCode")
    private String mnYsTherapyCode;

    @ApiModelProperty(value = "zhYsTherapy")
    private String zhYsTherapy;

    @ApiModelProperty(value = "疗术疗法")
    private String mnLsTherapy;

    @ApiModelProperty(value = "mnLsTherapyCode")
    private String mnLsTherapyCode;

    @ApiModelProperty(value = "zhLsTherapy")
    private String zhLsTherapy;

    @ApiModelProperty(value = "起居疗法")
    private String mnQjTherapy;

    @ApiModelProperty(value = "mnQjTherapyCode")
    private String mnQjTherapyCode;

    @ApiModelProperty(value = "zhQjTherapy")
    private String zhQjTherapy;

    @ApiModelProperty(value = "蒙语职业")
    private String mnJob;

    @ApiModelProperty(value = "mnJobCode")
    private String mnJobCode;

    @ApiModelProperty(value = "zhJob")
    private String zhJob;

    @ApiModelProperty(value = "蒙语家庭历史")
    private String mnJtHistory;

    @ApiModelProperty(value = "mnJtHistoryCode")
    private String mnJtHistoryCode;

    @ApiModelProperty(value = "zhJtHistory")
    private String zhJtHistory;

    @ApiModelProperty(value = "籍贯")
    private String mnNativePlace;

    @ApiModelProperty(value = "mnNativePlaceCode")
    private String mnNativePlaceCode;

    @ApiModelProperty(value = "zhNativePlace")
    private String zhNativePlace;

    @ApiModelProperty(value = "发病病例")
    private String mnPathogenesis;

    @ApiModelProperty(value = "mnPathogenesisCode")
    private String mnPathogenesisCode;

    @ApiModelProperty(value = "zhPathogenesis")
    private String zhPathogenesis;

    @ApiModelProperty(value = "婚育月经史")
    private String mnMarriageChildbirth;

    @ApiModelProperty(value = "mnMarriageChildbirthCode")
    private String mnMarriageChildbirthCode;

    @ApiModelProperty(value = "zhMarriageChildbirth")
    private String zhMarriageChildbirth;

    @ApiModelProperty(value = "望诊")
    private String mnObservation;

    @ApiModelProperty(value = "mnObservationCode")
    private String mnObservationCode;

    @ApiModelProperty(value = "zhObservation")
    private String zhObservation;

    @ApiModelProperty(value = "一般情况")
    private String mnCondition;

    @ApiModelProperty(value = "zhCondition")
    private String zhCondition;

    @ApiModelProperty(value = "年龄")
    private String age;

    @ApiModelProperty(value = "便诊")
    private String mnStoolDiagnosis;

    @ApiModelProperty(value = "zhStoolDiagnosis")
    private String zhStoolDiagnosis;

    @ApiModelProperty(value = "mnStoolDiagnosisCode")
    private String mnStoolDiagnosisCode;

    @ApiModelProperty(value = "查体")
    private String mnPhysicalExamination;

    @ApiModelProperty(value = "zhPhysicalExamination")
    private String zhPhysicalExamination;

    @ApiModelProperty(value = "过敏史")
    private String mnAllergic;

    @ApiModelProperty(value = "mnAllergicCode")
    private String mnAllergicCode;

    @ApiModelProperty(value = "zhAllergic")
    private String zhAllergic;

    @ApiModelProperty(value = "护理与预防")
    private String mnCarePrevention;

    @ApiModelProperty(value = "mnCarePreventionCode")
    private String mnCarePreventionCode;

    @ApiModelProperty(value = "zhCarePrevention")
    private String zhCarePrevention;

    @ApiModelProperty(value = "婚否(字典)")
    private String maritalStatus;

    @ApiModelProperty(value = "治疗方案")
    private String mnTreatmentPlan;

    @ApiModelProperty(value = "mnTreatmentPlanCode")
    private String mnTreatmentPlanCode;

    @ApiModelProperty(value = "zhTreatmentPlan")
    private String zhTreatmentPlan;

    @ApiModelProperty(value = "工作单位")
    private String mnWork;

    @ApiModelProperty(value = "mnWorkCode")
    private String mnWorkCode;

    @ApiModelProperty(value = "zhWork")
    private String zhWork;

    @ApiModelProperty(value = "即往史")
    private String mnPreHistory;

    @ApiModelProperty(value = "mnPreHistoryCode")
    private String mnPreHistoryCode;

    @ApiModelProperty(value = "zhPreHistory")
    private String zhPreHistory;

    @ApiModelProperty(value = "民族(字典)")
    private String nation;

    @ApiModelProperty(value = "性别(字典)")
    private String sex;

    @ApiModelProperty(value = "可靠性")
    private String mnReliability;

    @ApiModelProperty(value = "mnReliabilityCode")
    private String mnReliabilityCode;

    @ApiModelProperty(value = "zhReliability")
    private String zhReliability;

    @ApiModelProperty(value = "个人史")
    private String mnPslHistory;

    @ApiModelProperty(value = "mnPslHistoryCode")
    private String mnPslHistoryCode;

    @ApiModelProperty(value = "zhPslHistory")
    private String zhPslHistory;

    @ApiModelProperty(value = "主诉人")
    private String mnChiefSuitor;

    @ApiModelProperty(value = "zhChiefSuitor")
    private String zhChiefSuitor;

    @ApiModelProperty(value = "mnChiefSuitorCode")
    private String mnChiefSuitorCode;

    @ApiModelProperty(value = "季节")
    private String season;

    @ApiModelProperty(value = "入院时间")
    private String admissionTime;

    @ApiModelProperty(value = "主治医师")
    private String mnPhysician;

    @ApiModelProperty(value = "mnPhysicianCode")
    private String mnPhysicianCode;

    @ApiModelProperty(value = "zhPhysician")
    private String zhPhysician;

    @ApiModelProperty(value = "现状")
    private String mnStatusQuo;

    @ApiModelProperty(value = "mnStatusQuoCode")
    private String mnStatusQuoCode;

    @ApiModelProperty(value = "zhStatusQuo")
    private String zhStatusQuo;

    @ApiModelProperty(value = "首程病例记录")
    private String mnFirstMedicalRecord;

    @ApiModelProperty(value = "zhFirstMedicalRecord")
    private String zhFirstMedicalRecord;

    @ApiModelProperty(value = "首程病例时间")
    private Timestamp firstMedicalTime;

    @ApiModelProperty(value = "医嘱")
    private String mnDoctorAdvice;

    @ApiModelProperty(value = "mnDoctorAdviceCode")
    private String mnDoctorAdviceCode;

    @ApiModelProperty(value = "zhDoctorAdvice")
    private String zhDoctorAdvice;

    @ApiModelProperty(value = "病历")
    private String mnMedicalHistory;

    @ApiModelProperty(value = "mnMedicalHistoryCode")
    private String mnMedicalHistoryCode;

    @ApiModelProperty(value = "zhMedicalHistory")
    private String zhMedicalHistory;

    @ApiModelProperty(value = "状态")
    private Integer status;

    @ApiModelProperty(value = "remark")
    private String remark;

    public void copy(HospitalizedCase source) {
        BeanUtil.copyProperties(source, this, CopyOptions.create().setIgnoreNullValue(true));
    }
}
